package com.itheima.多态.多态的好处_04;

/*
    饲养员类
    职责: 喂各种小动物吃饭
    发现问题:
        随着动物种类的增加和减少,饲养员类中的方法也要跟着增加和减少,
        那么这个代码的维护性就太差了,扩展性(拓展性,延展性)太差!
    解决问题:
        利用多态语法,将方法参数设置为父类型.
        未来调用方法就可以接受任意子类对象.
        好处: 大大提升了程序的扩展性(拓展性,延展性).
 */
public class AnimalOperator {

    //喂各种小动物吃饭
    //当方法的参数类型是一个父类型时,方法可以接受该父类任意子类对象
    public void useAnimal(Animal a){
        //Animal a = new Monkey();
        a.eat();
    }
    //思考: 设计一个方法,能够在方法中获取到任意小动物对象.
    //当方法的返回值类型是一个父类型时,方法里可以返回该父类任意子类对象
    public Animal getAnimal(){
        return new Pig();
    }

}
